home *** CD-ROM | disk | FTP | other *** search
/ Network CD 1 / Network CD.iso / ncomm / doc / host.doc < prev    next >
Text File  |  1993-05-31  |  21KB  |  518 lines

  1.                 ===============================
  2.                 NComm Host Script Documentation
  3.                 ===============================
  4.            Doc ver 3, for script 2.10E, date 90-10-14
  5.           Revision 3.1, extended for 2.11E, 90-11-01
  6.           Revision 3.2, small revisions for 2.11aE, 91-03-19
  7.           Revision 4.0, extended for 2.20E,92-02-24 -- 02-29
  8.  
  9.    The NComm Host Script was written by Daniel Bloch 1989.
  10.  The NComm Host Script eXtended (ver 2.00Enad/2.00nad and up) was written
  11.               by Nils-Arne Dahlberg 1990, 1991 and 1992
  12.    Documentation written by Torkel Lodberg and Nils-Arne Dahlberg
  13.  
  14.  
  15.     This is an informal version of the fourth "official" english release, the
  16. things that have changed since 2.06E are not many, but some nasty bugs have
  17. been removed. Compared with 2.10E there are two changes:
  18.     I've include a simple questionare for first-time users, and added a
  19. possibility to just let some users upload files to the BBS.
  20.     Compared to 2.11E the following things have been changed/added:
  21.     Possibility to choose character set.
  22.     A more flexible way to handle users.
  23.     A faster (and safer) way to choose transfer protocol.
  24.  
  25.     For more info about them, see the script. The new features are described
  26. later in this document. I have also made some corrections (sigh) from the
  27. earlier version.
  28.  
  29.     The original plan was to implement the NComm host mode as a part of the
  30. NComm program, but, since the program would grow _large_, the host mode was
  31. implemented as a script. Of course, the NComm script language had to be
  32. enhanced, and functions specifically needed for the project were
  33. implemented. The result is one of the most powerful host modes available by
  34. any communication program...
  35.  
  36.                 How to set up NHS
  37.                 =================
  38.  
  39.     Before setting up NHS, please assure that the following files are
  40. available; 'C:LIST', 'C:DELETE', 'C:FILENOTE', 'C:EXECUTE', 'C:COPY',
  41. 'C:DIR' and one of 'LHarc', 'Arc', or 'Zoo'.
  42.  
  43.     To set up NHS, a few changes have to be made to the 'host.script'. All
  44. variables that need to be maintained have been placed at top of the script.
  45. First, a few directory names have to be defined. All directory names should
  46. end with a colon or a slash, and the directories must exist before you
  47. start using the script.
  48.  
  49.     The variable '$dir' shall contain the name of the directory where all
  50. miscellaneous files are kept. In other words, this is where bulletins,
  51. menus, messages, textfiles and so on have to rely. The NComm Host Script
  52. will log all user operations in a log file that will be created in this
  53. directory.
  54.  
  55.     The variables $menudir, $bulldir and $msgsdir should point at
  56. directories containing menus, bulletins and messages, respectively.
  57.  
  58.     The variable $bulldir should point to a directory where all bulletins
  59. are stored.
  60.  
  61.     The variable '$uldir' shall contain the name of the NHS upload
  62. directory - all files uploaded will be placed here.
  63.  
  64.     The variable '$dldir' shall contain the name of the NHS download
  65. directory - copy the files which shall be available for download
  66. into this directory. Use the CLI command 'FILENOTE' for adding file
  67. descriptions. If '$uldir' and '$dldir' point to the same directory,
  68. files uploaded will be available for download immediately. Otherwise,
  69. the files have to be moved to the '$dldir' directory.
  70.  
  71.     The variables '$apack', '$alist' and '$aextract' must be set to the
  72. archive program's pack, list end extract commands. The variable '$arch'
  73. should contain the program's default extension.
  74.  
  75.     The variable '$hold' shall contain the name of the NHS hold directory.
  76. All ZOO files extracted will be placed in this directory. Please notice
  77. that existing HOLD files wil be deleted at initialization, do not store
  78. other files in this directory!
  79.  
  80.     Now, a few file names have to be defined. The variable '$holdzoo'
  81. shall contain the name of the temporary hold ZOO file. Files will be
  82. added to this file.
  83.  
  84.     The variable '$tmp' shall contain the name of the temporary text file
  85. used by NHS for file listings and so on.
  86.  
  87.     The variable '$sysname' should contain the name of your system.
  88.  
  89.     The variable '$doscomm' should contain the directory where the
  90. dos commands that sysop sand cosysops can execute from remote, are placed.
  91.  
  92.     Specify the name of the directory lister in the variable '$list'.  This
  93. will normally be C:List.
  94.  
  95.     Specify the name of the quick directory lister in the variable '$qlist'.
  96. this will normally be C:dir.
  97.  
  98.     The variable '$maxbaud' is to be set to your modems maximum baudrate.
  99.  
  100.     A few changes also have to be made to the NComm configuration.
  101. End-Of-Line TX should be set to CR+LF, the character set should be set to
  102. ISO and G&R Host Mode has to be ENABLED. You should use a two colour screen
  103. for faster screen updates. The G&R download dir MUST be set to the directory
  104. specified in the variable '$dldir'. This is due to Zmodem downloads always
  105. being created in the current download directory. Save the configuration as
  106. "host.config" and place it in the directory used for miscellaneous files. A
  107. sample configuration file has been included.
  108.  
  109.     NHS will display two files at logon. The file "prelog" contains the
  110. actual login text, "postlog" will be displayed after a successful login...
  111. And at the logout NHS will show the file 'logout'. When a new user is
  112. loging on, the file 'NewUser' is displayed. Edit them to suit your needs.
  113.  
  114.     All menus are stored as textfiles. The file "menu0" contains the main
  115. menu, "menu1" contains a list of file transfer commands, "menu3" contains
  116. the SYSOP commands, "menu4" is the private mail menu and finally "menu5" is
  117. the messages areas menu. Example files have been included.
  118.     The second menu-choice is taken from files named .menu0, .menu1,
  119. .menu2, .menu4 and .menu5. There is no .menu3 because the sysop menu
  120. is not reached by more than one or two users anyway.
  121.  
  122.     To install bulletins, simply create files "bull0", "bull1" and so on.
  123. You must also remember to edit the bulletin menu, which is contained in the
  124. text file "menu2". Again, example files have been included.
  125.  
  126.     The file 'CharSets' contains the charsets that NComm supports. Should a
  127. future version of NComm support a new charset, simply add the new name last
  128. in the list. If, for some reason, you don't want to support a certain
  129. charset, simply remove that line. This file should normally be left as it
  130. is.
  131.  
  132.     The files 'TransProtos' and 'TransProtosS' contains the transfer
  133. protocolls you want to support. 'TransProtos' has lines like 'X = Xmodem'
  134. and so on. The first letter is the letter the script commands 'upload' and
  135. 'download' normally uses for that protocoll, the text after the '=' is
  136. simply what the protocoll is called. The standard setup doesn't support the
  137. following protocolls:
  138. Ymodem-G            (This protocoll normally demands a modem with error
  139.                     correction)
  140. External XPR        (Since no external protocoll normally are defined)
  141. Jmodem              (Se NComm.doc for what is needed)
  142. Compuserve QuickB   (Se NComm.doc for what is needed)
  143.  
  144. 'TransProtos' just contains the first letter of each line from
  145. 'TransProtosS'. The reason for this system is to avoid a long row of if-then
  146. lines in the script (there are too many anyway, belive me).
  147.  
  148.  
  149.                         Modem Setup
  150.                         ===========
  151.     You might have to change a bit after the label 'init:' in the script
  152. so your modem is initialized in the right way.
  153.     NHSx needs echo on (E1), result codes (V1) and all resultcodes (X4).
  154. You also have to turn off autoanswer (S0=0).
  155.  
  156.                 Using the NComm Host Script
  157.                 ===========================
  158.  
  159.     Execute the 'host.script' using the Execute Script function. If all
  160. files and directories have been created successfully, the modem will be
  161. initialized and a small menu will appear on screen. You may enter 'SPACE'
  162. for logging on locally. The 'R'-command is for testing the remote/local
  163. check that is included for sysops. Some modems have to been turned off
  164. before logging on locally.
  165.     When you log on for the first time, you are automaticly made sysop,
  166. this aproach is used to avaoid the old 'file-in-a-directory'-aproach that
  167. was used in the last version (this will actually save quite a lot of place
  168. on your disk).
  169.  
  170.     The NComm Host Script does not support Page Break, so use CTRL-S and
  171. CTRL-Q for halting / resuming text output.
  172.  
  173.     When a user loggs on for the first time he will be asked for the
  174. following information:
  175.     Name
  176.     Password to use
  177.     Character set
  178.     Prefered transfer protocoll
  179.     Adress (3 lines)
  180.     Computer
  181.     This information is stored in the userfile together with status of the
  182. user.
  183.  
  184.     When logging in, the file 'prelog' will be displayed. The host will now
  185. prompt you for your name. The second time you enter an uncorrect password,
  186. you will be thrown off the board. You will also be thrown off the board
  187. after 5 minutes of inactivity. If you used the correct password, the file
  188. 'postlog' will be displayed...
  189.  
  190.     Press 'Enter' to continue - NHS will now display the main menu. Here is
  191. a description of the different commands available;
  192.  
  193. MAIN MENU                                                  File; "menu0"
  194. ========================================================================
  195. <B>     Bulletins
  196.                         Displays  the  bulletin  menu.  A description of
  197.                         bulletin menu commands follows further down.
  198.  
  199. <C>     Comments to sysop
  200.                         Enters  comment  into system.  Prompts you for a
  201.                         subject.   You  will  then  enter  a simple line
  202.                         editor  that  must  be  used  for  entering your
  203.                         comment.   Press  CTRL-Z  on  a  blank line when
  204.                         finished.  The message will be added to the file
  205.                         'comments'  -  it can be read by using the SYSOP
  206.                         command [R]ead private messages.
  207.  
  208. <E>     Read and Write private messages
  209.                         Goto the Private Mail menu.
  210.  
  211. <F>     File-menu
  212.                         Displays  the  file menu.  A description of file
  213.                         menu commands follows further down.
  214.  
  215. <G>     Log out
  216.                         Brings up a prompt asking you if you want to log
  217.                         off  the  system or not.  The hangup string will
  218.                         be  sent to the modem if the answer is positive.
  219.                         NHS will start waiting for the next caller.
  220.  
  221. <L>     List Users
  222.                         Prints a list of all users.
  223.                         <Sysop/Cosysop will also see the status of the user
  224.                         this status can be changed with the 'U'-command in
  225.                         the sysop-menu.>
  226. <M>     Messages menu
  227.                         Jump to a submenu for messages.
  228.  
  229. <O>     Page operator
  230.                         Will  ring  the bell for SYSOP at local console.
  231.                         When  chatting,  you may return to the main menu
  232.                         by pressing CTRL-Z.
  233.  
  234. <P>     Change Password
  235.                         Used if you want to change your password. You are
  236.                         asked to input it twice to make sure that you
  237.                         haven't made any spelling mistakes.
  238.  
  239. (S)     Sysop functions
  240.                         Only available for SYSOP and cosysop. Displays
  241.                         the SYSOP menu. A description of SYSOP menu
  242.                         commands follows further down.
  243.                         This entry isn't in the menu, but it still works.
  244.  
  245.  
  246. <V>     View version number
  247.                         Outputs the current version of the script. It
  248.                         was actually first just placed there for testing
  249.                         purposes, but it's easier to leave it than risk
  250.                         messing things up by removing it...
  251.  
  252. FILE MENU                                                  File; "menu1"
  253. ========================================================================
  254.  
  255. <ADD> file to HOLD
  256.                             Prompts  you  for  a filename. The file will
  257.                             be added to the HOLD directory.
  258.  
  259. <DIR> List files in HOLD
  260.                             Displays the contents of the HOLD directory.
  261.  
  262. <EXT>ract packed file to HOLD
  263.                             Prompts you  for  a  filename. The file must
  264.                             have  the extension $arch. The file will be
  265.                             extracted into the HOLD directory.
  266.  
  267. <DEL>ete file(s) from HOLD
  268.                             Prompts you for a filename. The file will be
  269.                             deleted from the HOLD directory.
  270.  
  271. <GET> files in HOLD
  272.                             Packs  the  contents  of  the HOLD directory
  273.                             into the hold packed  file. The command will
  274.                             prompt   you   for  the  preferred  transfer
  275.                             protocol (Xmodem / YModem / Zmodem /
  276.                             Ymodem-Batch / YModem-G), and the transfer
  277.                             will start.
  278.  
  279. <L>ist files
  280.                             Lists the contents of the download directory
  281.                             using  the  command specified in the '$list'
  282.                             variable.
  283.  
  284. <D>ownload file
  285.                             Prompts  you  for  a  filename  and transfer
  286.                             protocol (Xmodem / YModem / Zmodem /
  287.                             Ymodem-Batch / YModem-G), and the transfer
  288.                             will start. If you just press enter at the
  289.                             protocollpromt you will use your prefered
  290.                             protocoll.
  291.  
  292. <U>pload file
  293.                             Prompts  you  for  a  filename  and transfer
  294.                             protocol (Xmodem / YModem / Zmodem /
  295.                             Ymodem-Batch / YModem-G), and the transfer
  296.                             will start. If you just press enter at the
  297.                             protocollpromt you will use your prefered
  298.                             protocoll.
  299.  
  300. <V>iew packed file
  301.                             Prompts  you  for  a filename. The filename
  302.                             must include the extension . The contents of
  303.                             the file will be displayed on screen.
  304.  
  305. <Q>uit
  306.                             Quits to main menu.
  307.  
  308.  
  309.  
  310. BULLETIN MENU                                              File; "menu2"
  311. ========================================================================
  312.  
  313. <xx>
  314.          Displays bulletin #xx on screen. The file 'BULLxx' must exist.
  315.  
  316. <Enter> or <Q>
  317.          Quits to main menu.
  318.  
  319.  
  320. SYSOP MENU                                                 File; "menu3"
  321. ========================================================================
  322.  
  323. <B>ackup
  324.                          Starts a remote backup-sequence.
  325.  
  326. <R>ead private messages
  327.                          Displays  the  file  'comments' on screen.  All
  328.                          user comments are contained here.
  329.  
  330. <L>ist user log
  331.                          Displays the file 'log' on screen. The log file
  332.                          contains  a  list  of  all user operations that
  333.                          have been made.
  334.  
  335. <D>elete user log
  336.                          Asks for a confirm. Deletes the file 'log' from
  337.                          disk and creates a blank log file.
  338.  
  339. <C>omments delete
  340.                          Asks for a confirm. Deletes the file 'comments'
  341.                          from disk and creates a blank comments file.
  342.  
  343. <Q>uit to main menu
  344.                          Quits to main menu.
  345.  
  346. <S>tart another script
  347.                          Starts another script, just an experimental thing.
  348.  
  349. <U>pdate a user
  350.                          Gives you the possibility to change status (New,
  351.                          Normal, Cosys or Sysop) the Uploadcredit and the
  352.                          downloadcredit. A new user has no possibility to
  353.                          do uploads.
  354.  
  355. In addition to this, you can enter a DOS-command which will be executed and
  356. the result will be displayed on screen. Which commands you can execute,
  357. depends on the script setup. (See above.)
  358.  
  359. Private Mail                                         Menu4;
  360. ==================================================================
  361. <Q>  To Main menu
  362.                         Quits to main menu.
  363.  
  364. <R>  Read letters to you
  365.                         Read the letters to you.
  366.  
  367. <W>  Write a letter to someone
  368.                         Write a letter to someone. You have to input the
  369.                         name of the reciver and a subject. You  will
  370.                         then enter a simple line editor that must be used
  371.                         for  entering your message. Press CTRL-Z on a
  372.                         blank line when finished. The message will be
  373.                         added to the file '<receiversname>' - it can be
  374.                         read by using the command <R>ead letters.
  375.  
  376. <E>  Erase all letters to you
  377.                         Ask for confirmation and if ok, erases yor messages
  378.                         file.
  379.  
  380. <G>  Grab all messages and letters in a file
  381.                         First, copies your messages to hold, and asks if the
  382.                         same shall be done with area messages and bulletins.
  383.                         The messages are packed and sent as a binary file.
  384.  
  385. Boringtowns BBSs Areamenu:
  386. ==========================
  387. <xx> Different message areas
  388.  
  389. <R> Read messages
  390.                         Asks for the correct area and sends the file.
  391.  
  392. <W> Write messages
  393.                         Asks for area and receiver of message. After
  394.                         that you are asked to input a subject. The message-
  395.                         entering is done in the same way as comment to
  396.                         sysop. (See above)
  397. <Q> Back to Main menu
  398.                         You should know this by now, really.
  399.  
  400.  
  401. More info:
  402. The userfile (i.e., the file where all user information is stored) has the
  403. following layout. (You should normally not have to edit this file, but who
  404. knows...)
  405.  
  406. #                           (File-start marker)
  407. Nils-Arne Dahlberg          (The users name)
  408. qrup                        (Password)
  409. ISO                         (Prefered character set)
  410. N                           (Upload credit, Y or N)
  411. N                           (Download credit, Y or N)
  412. 10                          (Status)
  413. Sysop                       (The status in letters)
  414. z                           (Prefered protocoll)
  415. Sun Feb 23 16:05:34 1992    (Last logout)
  416. Smällgatan 6A               (Address)
  417. S-597 52  ÅTVIDABERG        (Address)
  418. Fido: 2:204/417             (Address)
  419. Amiga 2000C                 (Computer)
  420. #                           (Start of next user/end of file)
  421.  
  422.  
  423.   Some new features (2.10)
  424.  
  425.     If you want another program to stop NHSx, without just throwing a
  426. possible user away, do it this way:
  427.     Let the program create a file called "RAM:C/NHSQUIT" and place the
  428. delete command in ram:c. Then you just let the program wait until the file
  429. "RAM:C/NHSQUIT" doesn't exists and go on after that. One possible use of this
  430. is if you want to use your computer for automatic phone- calls at certain
  431. times (using it as a fido-point or fido-host).
  432.  
  433.     You can, from the sysop menu, now start an ncomm-script. This is purely
  434. exprimental, and you canæt get back to the BBS, but I'll think of some use
  435. :-).
  436.     This script MUST end with the line: CHAIN Host.script to restart
  437. the BBS. An example, do-nothing, script is included.
  438.  
  439.  
  440.  
  441.  
  442. Things changed since version 1.3 of the script is:
  443.  
  444.  * All users have their own password
  445.  
  446.  * Cosysop status added
  447.  
  448.  * All of NComms protocols are supported
  449.  
  450.  * Private messages to/from all users
  451.  
  452.  * Multiple messages areas
  453.  
  454.  * A remote-backup function added
  455.  
  456.  * Possibility to choose archive program by sysop
  457.  
  458. Added since 2.06E
  459.  
  460.  * Possibility to let another program break the script
  461.  
  462.  * The sysop or cosysop can start another script from the sysop menu
  463.    This is just an experimental feature without use, yet...
  464.  
  465. Added since 2.10E
  466.  
  467.  * Possibility to exclude users from upload
  468.  
  469.  * A small questionnaire for first-time users
  470.  
  471. Added since 2.11E
  472.  
  473.  * Prefered protocoll is saved between sesions.
  474.  
  475.  * Prefered character set is saved between sesions.
  476.  
  477.  * The questionare answers is saved in the same file as the userinfo.
  478.  
  479.  
  480.     Coming featuers
  481.     ===============
  482.     These things will probably be ShareWare or FreeWare
  483.  
  484.  * A more usefull message handling system (it is actually under beta-testing)
  485.  
  486.     It will contain the usual read Next/Previous, Enter message and Reply
  487. commands. This will be handled by an external program, MessHandle, which will
  488. save the messages in a format readable by ConfMail.
  489.  
  490.  * A better system for user handling
  491.  
  492.  * Multiple file areas
  493.  
  494.  * External programs for User and File handling.
  495.  
  496.  * Maybe a complete Fido-net package.
  497.  
  498.  
  499.  
  500. To get hold of me:
  501. EMail
  502. FidoNet 2:204/417
  503. My own bbs, +46 120 109 75, swedish only
  504. Rodeløkka (M)BBS (+47 2 380949)
  505.  
  506.  
  507. Snail-Mail:
  508.     Nils-Arne Dahlberg
  509.     Smaellgatan 6A
  510.     S-597 52  AAtvidaberg
  511.     SWEDEN
  512.  
  513. And some credits:
  514. Fido-net is a registred trademark of Tom Jennings
  515. ConfMail is (c) Spark Software, Inc.  (Bob Hartman)
  516. And, if you havn't understod that by now, NComm is (c) Daniel Bloch & Co
  517.  
  518.